The present invention relates to a communications stack that is used in a communications system comprising at least two communicating application programs. The application programs communicate over a connection via the communications stack, which comprises a connection resetting means, adapted to reset the connection by closing all connection-involved elements. The communications stack further comprises a signal reception means, adapted to receive at least one signal for managing the connection and a connection persisting means, coupled with an input to an output of the connection resetting means and adapted to keep the connection persistent.
Communications stacks are already known in the art, e.g., from “UNIX NETWORK PROGRAMMING” Volume 1 by W. Richard Stevens. More particularly, chapter 2 thereof describes that at a Unix process termination, either voluntarily or involuntarily, all open descriptors are closed which will cause any TCP connection that is still open to be closed.
This means that, in case of an application crash, which is called an involuntarily application close, or a software upgrade, which is called a voluntarily application close, the connection between the two communicating applications is consequently reset. The situation wherein subsequently a group of network settings is reset because of the connection reset can be imagined. If, in case of such a involuntary application close, the application is restarted immediately after the close, the connection between the communicating applications has to be re-established which is inefficient, from a point of view of network load and/or processing load in re-connecting both applications.
At this close, an application communicating with a peer application, where the application or the peer application is closing or being closed, the connection between both applications is subsequently closed by means of closing the communication socket under control of at least one protocol message.